TransactionDetail

查询事务详情

查询指定事务的详细信息

请求地址

GET/POST
http://OmsAddress/app/newoms.php/webservice/oamp/transaction/detail/<set_id>/<trans_id>?cmd=cmdVal&ip-type=webservicerest&access-token=AccessTokenVal

url中GET参数说明

参数名称 数据类型 说明 是否必填字段 备注
set_id 整型 事务所在的集群的id
trans_id 整型 事务的id
cmd(cmdVal) 整型 接口类型 查询加表事务:cmd=10002 ; 查询修改表事务:cmd=10003 ; 查询清理表事务:cmd=10004 ; 查询删除表事务:cmd=10005 ;查询删除游戏区事务:cmd=10006 ; 查询复制表数据事务:cmd=10008 ; (表、进程)数据备份cmd:10009 ; 表数据构造cmd:10011 ; 机器数据构造cmd:10012 ; 数据导入事务cmd:10013 ; 索引事务务cmd:10022

POST请求参数说明

参数名称 数据类型 说明 是否必填字段 备注
get_action 整型(0、1) 是否返回事务的action列表。0:不返回;1:返回。 oms:3.38.1

Data参数

使用json格式表示记录相关信息,示例如下:

{
    "get_action": 0
}

返回语法

返回参数说明

  1. 返回状态码不为200时,获取信息失败,返回数据为错误信息

  2. 返回状态码为200,表示成功获取事务详情

事务各字段说明

字段名称 字段类型 字段含义
Id uint32 事务id
SetId uint32 事务所在集群的set id
AppId int32 app id ,部分类型的事务的app id无意义,也没有值
ZoneId int32 zone id,部分类型的事务的zone id无意义,也没有值
Type uint32 事务类型
Status uint32 状态码 ,各状态码含义见本接口的“事务状态(status)列表,及使用webservice接口可实现的状态转化”说明
CanRedo tinyint 能否重做
CanSuspend tinyint 能否挂起
CanRollback tinyint 能否回滚
Reason uint32 状态原因码
Num uint32 涉及的资源数目
IdName string 表名、进程ID、节点名称等信息
Data string 数据信息
Memo string 备注信息
CreateUser string 事务创建者
CreateTime datetime 事务创建时间
UpdateTime datetime 事务更新时间
ExtendInfo string 对于扩容/缩容事务,该字段保存CleanShardData事务的ID,对于CleanShardData事务,该字段保存扩容/缩容的事务ID,如cmId=72415;其他用法自行定义
MaxConcurrentCount uint32 事务内最大并行action数, 最大值为10

事务的action的各字段说明

字段名称 字段类型 字段含义
TransId uint32 action所属事务的事务id
Id uint32 action id
AppId int32 app id
ZoneId int32 zone id
Type uint32 action类型
Status uint32 状态码 ,各状态码含义如下: Status = 1:初始化中 Status = 2:资源就绪,待执行 Status = 3:执行中 Status = 4:挂起 Status = 5:回滚中 Status = 6:完成 Status = 7:已结束 Status = 8:待恢复 Status = 9:跳过
Reason uint32 状态原因码
Num uint32 涉及的资源数目
IdName string 表操作存表名;进程操作存进程id
Data string 数据信息
Context string action运行时的上下文信息
CreateTime datetime 创建时间
ExecuteTime datetime 执行时间
UpdateTime datetime 更新时间

事务状态(status)列表,及使用webservice接口可实现的状态转化

状态a 状态a可转化的状态b 状态a => 状态b使用的oms的接口
待点击执行(Status = 1) 等待执行队列中;异常结束 执行事务(webservice可调用);异常结束事务(webservice不可调用)
等待执行队列中(Status = 2)
执行前准备中(Status = 3)
执行中(Status = 4) 挂起 挂起事务(webservice不可调用)
挂起中(Status = 5) 待恢复;异常结束 恢复事务(webservice可调用);异常结束事务
待恢复(Status = 6)
待回滚(Status = 7)
回滚中(Status = 8) 异常结束 异常结束事务
已成功完成(Status = 9),此状态为事务结束状态,不能再进行相关操作
异常结束(Status = 10),此状态为事务结束状态,不能再进行相关操作
已暂停(Status = 1000)

请求示例

通过 curl 方法发起请求

命令中的参数请参考本页中的“POST请求参数说明”,access-token的获取方法详见:获取access-token

curl -H "Content-type: application/json" -X "GET" -d '{
    "get_action": 0
}' http://omsaddress/app/newoms.php/webservice/oamp/transaction/detail/%3Cset_id%3E/%3Ctrans_id%3E?cmd=cmdVal&ip-type=webservicerest&access-token=<access-token>&set_id=<set_id>&trans_id=<trans_id>

返回示例

成功返回示例

http请求的Status=200

1.成功查询加表事务的详情的用例

{
    "Id": 300,
    "AppId": 2,
    "ZoneId": 5,
    "Type": 283,
    "Status": 9,
    "Reason": 0,
    "Num": 0,
    "IdName": "add_table350",
    "Data": "proxy@;tcapsvr@master#1",
    "Memo": "AddTableManual",
    "CreateUser": "tcaplus",
    "CreateTime": "2021-07-23 16:17:20",
    "UpdateTime": "2021-07-23 16:17:47",
    "CanRedo": 1,
    "CanSuspend": 1,
    "CanRollback": 1,
    "SetId": 1,
    "ExtendInfo": "",
    "MaxConcurrentCount": 10,
    "StatusText": "已成功完成"
}

2.成功查询修改表事务的详情的用例

{
    "Id": 405,
    "AppId": 2,
    "ZoneId": 3,
    "Type": 281,
    "Status": 10,
    "CanRedo": 1,
    "CanSuspend": 1,
    "CanRol lback": 1,
    "Reason": 2,
    "Num": 0,
    "IdName": "test_table_generic_modify",
    "Data": "fc448894b1fc2e22ece9a6873b33c7b6",
    "Memo": "ModifyTable",
    "CreateUser": "tcaplus",
    "CreateTime": "2017-03-02 21:38:30",
    "UpdateTime": "2017-03-02 21:41:37",
    "SetId": 126,
    "ExtendInfo": "",
    "MaxConcurrentCount": 10
}

3.成功查询清理表事务的详情的用例

{
    "Id": 408,
    "AppId": 2,
    "ZoneId": 3,
    "Type": 279,
    "Status": 9,
    "CanRedo": 1,
    "CanSuspend": 1,
    "CanRollback": 1,
    "Reason": 0,
    "Num": 0,
    "IdName": "test_table_generic_modify",
    "Data": "",
    "Memo": "TruncateTable",
    "CreateUser": "tcaplus",
    "CreateTime": "2017-03-02 21:57:56",
    "UpdateTime": "2017-03-02 22:00:29",
    "SetId": 126,
    "ExtendInfo": "",
    "MaxConcurrentCount": 10
}

4.成功查询删除表事务的详情的用例

{
    "Id": 411,
    "AppId": 2,
    "ZoneId": 3,
    "Type": 363,
    "Status": 9,
    "CanRedo": 1,
    "CanSuspend": 1,
    "CanRollback": 1,
    "Reason": 0,
    "Num": 0,
    "IdName": "test_table_generic_modify",
    "Data": "",
    "Memo": "DeleteTable",
    "CreateUser": "tcaplus",
    "CreateTime": "2017-03-02 22:12:49",
    "UpdateTime": "2017-03-02 22:17:38",
    "SetId": 126,
    "ExtendInfo": "",
    "MaxConcurrentCount": 10
}

错误返回

http请求的Status!=200

{
    "name": "Unauthorized",
    "message": "You are requesting with an invalid credential.",
    "code": 0,
    "status": 401,
    "type": "yii\\web UnauthorizedHttpException"
}
{
    "trans_id": [
        "for the cmd(cmd:10004),can only get those transaction of which type is in 279,type of transaction(id:411) is 363"
    ]
}

results matching ""

    No results matching ""